package com.jeequan.jeepay.core.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeequan.jeepay.core.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 交易配置;
 * @author : wondream322@gmail.com
 * @date : 2023-8-19
 */
@ApiModel(value = "交易配置",description = "")
@TableName("pay_member_risk_control_config")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class PayMemberRiskControlConfig extends BaseModel implements Serializable,Cloneable{

    //gw
    public static final LambdaQueryWrapper<PayMemberDO> gw(){
        return new LambdaQueryWrapper<>();
    }

    /** 主键id */
    @ApiModelProperty(value = "主键id",name = "主键id",notes = "")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer  id ;
    /** 用户id */
    @ApiModelProperty(value = "用户id",name = "用户id",notes = "")
    private Integer memberId ;
    /** 单笔最小金额 */
    @ApiModelProperty(value = "单笔最小金额",name = "单笔最小金额",notes = "")
    private BigDecimal  minMoney ;
    /** 单笔最大金额 */
    @ApiModelProperty(value = "单笔最大金额",name = "单笔最大金额",notes = "")
    private BigDecimal  maxMoney ;
    /** 单位时间内交易总金额 */
    @ApiModelProperty(value = "单位时间内交易总金额",name = "单位时间内交易总金额",notes = "")
    private BigDecimal  unitAllMoney ;
    /** 当天交易总金额 */
    @ApiModelProperty(value = "当天交易总金额",name = "当天交易总金额",notes = "")
    private BigDecimal  allMoney ;
    /** 一天交易开始时间 */
    @ApiModelProperty(value = "一天交易开始时间",name = "一天交易开始时间",notes = "")
    private Integer  startTime ;
    /** 一天交易结束时间 */
    @ApiModelProperty(value = "一天交易结束时间",name = "一天交易结束时间",notes = "")
    private Integer  endTime ;
    /** 单位时间内交易的总笔数 */
    @ApiModelProperty(value = "单位时间内交易的总笔数",name = "单位时间内交易的总笔数",notes = "")
    private Integer  unitNumber ;
    /** 修改时间 */
    @ApiModelProperty(value = "修改时间",name = "修改时间",notes = "")
    private Integer  editTime ;
    /** 限制的时间单位 */
    @ApiModelProperty(value = "限制的时间单位",name = "限制的时间单位",notes = "")
    private String timeUnit ;
    /** 单位时间值 */
    @ApiModelProperty(value = "单位时间值",name = "单位时间值",notes = "")
    private Integer  unitInterval ;
    /** 防封域名 */
    @ApiModelProperty(value = "防封域名",name = "防封域名",notes = "")
    private String domain ;
    /** 0 系统规则 1 用户规则 */
    @ApiModelProperty(value = "0 系统规则 1 用户规则",name = "0 系统规则 1 用户规则",notes = "")
    private Integer  systemFlag ;
    /** 备注 */
    @ApiModelProperty(value = "备注",name = "备注",notes = "")
    private String remark ;
    /** 状态：0-失效 1-有效 */
    @ApiModelProperty(value = "状态：0-失效 1-有效",name = "状态：0-失效 1-有效",notes = "")
    private Integer state ;
    /** 创建时间 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "创建时间",name = "创建时间",notes = "")
    private Date createTime ;
    /** 更新时间 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "更新时间",name = "更新时间",notes = "")
    private Date updateTime ;

}